home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / PROGRAMR / JORF21_2.ZIP / EDITINI.J < prev    next >
Text File  |  1993-07-05  |  26KB  |  769 lines

  1. EditIni:Start
  2.   New (Ini:IniStruct, FileName,PrintChoice, WinChoice)
  3.  
  4.   FileName = EditIni:FileName()
  5.   If (File:Exist (FileName)==False)
  6.     Msg:Add ('Error', 'Ok')
  7.       Cannot find file "{FileName}"
  8.     Return
  9.  
  10.   EditIni:Backup(FileName)
  11.   Event:Add("EditIni")
  12.   Win:Add ('JORF Options',0,0,0,0,Here)
  13.     Idle:"Editini:CheckRead(IniStruct,FileName)"
  14.     Menu:"&File"
  15.       Menu:"&About EditIni" Action:"EditIni:About"
  16.       Menu:"&New File"      Action:"Editini:GetFile(IniStruct,FileName)"
  17.       Menu:"E&xit"          Action:"EditIni:Cancel(FileName)"
  18.     Group:"Windows and DOS Options" Row:1 Col:1 Len:3 Wid:30
  19.     ChBox:"&MultiUser Mode"  Check:"IniStruct->Multiuser=='Yes'"
  20.       Action:"IniStruct->MultiUser='Yes'" UnAction:"IniStruct->MultiUser='No'"
  21.     ChBox:"Memory &status "   Check:"IniStruct->MemStats=='Yes'"
  22.       Action:"IniStruct->MemStats='Yes'" UnAction:"IniStruct->MemStats='No'"
  23.     Input:"Ram Disk       " Field:"IniStruct->RamDisk" Wid:10
  24.     Group:"&DOS Options" Row:6 Col:1 Len:5 Wid:30
  25.     ChBox:"&Bios Screens"      Check:"IniStruct->Bios=='Yes'"
  26.       Action:"IniStruct->Bios='Yes'" UnAction:"IniStruct->Bios='No'"
  27.     ChBox:"&Monochrome Override" Check:"IniStruct->Monochrome=='Yes'"
  28.       Action:"IniStruct->Monochrome='Yes'" UnAction:"IniStruct->Monochrome='No'"
  29.     ChBox:"Use &Graphics Mode"      Check:"IniStruct->Graphics=='Yes'"
  30.       Action:"IniStruct->Graphics='Yes'" UnAction:"IniStruct->Graphics='No'"
  31.     ChBox:"Using XT &Keyboard"      Check:"IniStruct->IsXt=='Yes'"
  32.       Action:"IniStruct->IsXt='Yes'" UnAction:"IniStruct->IsXt='No'"
  33.     Input:"Explode Speed (0-9)  " Field:"IniStruct->Explode" Wid:1
  34.  
  35.     Group:"&Printer prompts" Row:1 Col:34 Len:5 Wid:24
  36.     Array:"" Field:"IniStruct->PrintList"
  37.        Show:"EditIni:PrintShow"
  38.        Choice:"PrintChoice"
  39.        Action:"EditIni:PrintDo(IniStruct,PrintChoice)"
  40.     Group:"&Window colors"  Row:8 Col:34 Len:7 Wid:24
  41.     Array:"" Field:"IniStruct->WinList"
  42.        Show:"EditIni:WinShow"
  43.        Choice:"WinChoice"
  44.        Action:"EditIni:WinDo(IniStruct,WinChoice)"
  45.     Input:"&File:" Field:"FileName" Row:13 Col:1 Wid:26 Before:Null
  46.     Button:"&Ok"     Row:14 Col:1 Wid:14 Action:"Return Null"
  47.     Button:"&Cancel" Row:14 Col:19 Wid:14 Action:"EditIni:Cancel(FileName)"
  48.  
  49.   If (Kbd:Got!='Esc_Key')
  50.     EditIni:Write(FileName,IniStruct)
  51.   Return Ok
  52.  
  53. Class:Ini
  54.   Bios
  55.   Monochrome
  56.   Multiuser
  57.   Memstats
  58.   Decimal
  59.   Graphics
  60.   Isxt
  61.   Ramdisk
  62.   Explode
  63.   Printlist
  64.   Winlist
  65.  
  66. class:IniPrint
  67.   Prompt
  68.   Device
  69.  
  70. class:IniWin
  71.   Name
  72.   MonoColor
  73.   Linestyle
  74.   Clrborder
  75.   Clrtitle
  76.   Clrshadow
  77.   Clrmessage
  78.   Clrnormal
  79.   Clrlow
  80.   Clrmedium
  81.   Clrhigh
  82.   Clrbold
  83.  
  84. Editini:About
  85.   Msg:Add ("EditIni")
  86.     Flrco:"Center"
  87.     Program to edit JORF.INI files
  88.  
  89.     Written by Wayland Bruns
  90.     March 10, 1993 for Version 2.1
  91.   Return (Ok)
  92.  
  93. Editini:Alt_F5_Key
  94.   Jorf:Flush
  95.   Return (Ok)
  96.  
  97. EditIni:Backup(FileName)
  98.   New (BakName)
  99.   BakName = Str:AtCut(FileName,Str:In(FileName,".")) + ".BAK"
  100.   File:Copy(FileName,BakName)
  101.   Return (Ok)
  102.  
  103. EditIni:Cancel(FileName)
  104.   New (BakName)
  105.   BakName = Str:AtCut(FileName,Str:In(FileName,".")) + ".BAK"
  106.   File:Copy(BakName,FileName)
  107.   Kbd:Put("Esc_Key")
  108.   Return (Ok)
  109.  
  110. Editini:CheckRead(*IniStruct,FileName)
  111.   If (IniStruct->Bios==Null)
  112.     Win:Msg("Reading INI file")
  113.     IniStruct=EditIni:Read(FileName)
  114.     If (IniStruct->Bios==Null)
  115.       IniStruct->Bios="No"
  116.     Win:Msg
  117.     Win:Dsp
  118.   Return (Ok)
  119.  
  120. EditIni:ChkBkdColor(WorkColor,Color)
  121.   Return (Color==Str:At(WorkColor,Str:In(WorkColor,"/")+1))
  122.  
  123. EditIni:ChkForColor(WorkColor,Color)
  124.   Return (Color==Str:AtCut(WorkColor,Str:In(WorkColor,"/")))
  125.  
  126. EditIni:ColorSet(OldWin)
  127.   New (ArrColor,ArrChoice,LastChoice,WorkColor,IniWin:Win)
  128.  
  129.   Win = Jorf:Dup(OldWin)
  130.   ArrChoice  = 1
  131.   LastChoice = 1
  132.   WorkColor  = Win->ClrNormal
  133.  
  134.   ArrColor[1] = "Normal  - Text and prompts"
  135.   ArrColor[2] = "Low     - Hot keys"
  136.   ArrColor[3] = "Medium  - Lines and Groups"
  137.   ArrColor[4] = "High    - Unselected fields"
  138.   ArrColor[5] = "Bold    - Selected field"
  139.   ArrColor[6] = "Message - Window message"
  140.   ArrColor[7] = "Border  - DOS Border"
  141.   ArrColor[8] = "Title   - DOS Title"
  142.   ArrColor[9] = "Shadow  - DOS Shadow"
  143.  
  144.   Win:Add("JORF Window Colors")
  145.     Group:"&Color to change"     Row:10 Col:1 Len:9 Wid:30
  146.       Display:"EditIni:ColorShow(Win)"
  147.     Array:"" Field:"ArrColor"
  148.       Choice:"ArrChoice"
  149.       Action:"EditIni:NewColor(Win,WorkColor,ArrChoice,LastChoice)"
  150.     Input:"Setting" Field:"ArrColor[ArrChoice]" Row:2 Col:36 Wid:28 Before:"Null"
  151.       Display:"EditIni:NewColor(Win,WorkColor,ArrChoice,LastChoice)"
  152.  
  153.     Group:"&Foreground" Row:3 Col:36 Len:16 Wid:16
  154.     Radio:"Black"
  155.       Check:"EditIni:ChkForColor(WorkColor,'Black')"
  156.       Action:"EditIni:SetForColor(Win,WorkColor,'Black',ArrChoice)"
  157.     Radio:"Blue"
  158.       Check:"EditIni:ChkForColor(WorkColor,'Blue')"
  159.       Action:"EditIni:SetForColor(Win,WorkColor,'Blue',ArrChoice)"
  160.     Radio:"Green"
  161.       Check:"EditIni:ChkForColor(WorkColor,'Green')"
  162.       Action:"EditIni:SetForColor(Win,WorkColor,'Green',ArrChoice)"
  163.     Radio:"Cyan"
  164.       Check:"EditIni:ChkForColor(WorkColor,'Cyan')"
  165.       Action:"EditIni:SetForColor(Win,WorkColor,'Cyan',ArrChoice)"
  166.     Radio:"Red"
  167.       Check:"EditIni:ChkForColor(WorkColor,'Red')"
  168.       Action:"EditIni:SetForColor(Win,WorkColor,'Red',ArrChoice)"
  169.     Radio:"Magenta"
  170.       Check:"EditIni:ChkForColor(WorkColor,'Magenta')"
  171.       Action:"EditIni:SetForColor(Win,WorkColor,'Magenta',ArrChoice)"
  172.     Radio:"Brown"
  173.       Check:"EditIni:ChkForColor(WorkColor,'Brown')"
  174.       Action:"EditIni:SetForColor(Win,WorkColor,'Brown',ArrChoice)"
  175.     Radio:"White"
  176.       Check:"EditIni:ChkForColor(WorkColor,'White')"
  177.       Action:"EditIni:SetForColor(Win,WorkColor,'White',ArrChoice)"
  178.     Radio:"Gray"
  179.       Check:"EditIni:ChkForColor(WorkColor,'Gray')"
  180.       Action:"EditIni:SetForColor(Win,WorkColor,'Gray',ArrChoice)"
  181.     Radio:"Light Blue"
  182.       Check:"EditIni:ChkForColor(WorkColor,'Light Blue')"
  183.       Action:"EditIni:SetForColor(Win,WorkColor,'Light Blue',ArrChoice)"
  184.     Radio:"Light Green"
  185.       Check:"EditIni:ChkForColor(WorkColor,'Light Green')"
  186.       Action:"EditIni:SetForColor(Win,WorkColor,'Light Green',ArrChoice)"
  187.     Radio:"Light Cyan"
  188.       Check:"EditIni:ChkForColor(WorkColor,'Light Cyan')"
  189.       Action:"EditIni:SetForColor(Win,WorkColor,'Light Cyan',ArrChoice)"
  190.     Radio:"Light Red"
  191.       Check:"EditIni:ChkForColor(WorkColor,'Light Red')"
  192.       Action:"EditIni:SetForColor(Win,WorkColor,'Light Red',ArrChoice)"
  193.     Radio:"Light Magenta"
  194.       Check:"EditIni:ChkForColor(WorkColor,'Light Magenta')"
  195.       Action:"EditIni:SetForColor(Win,WorkColor,'Light Magenta',ArrChoice)"
  196.     Radio:"Yellow"
  197.       Check:"EditIni:ChkForColor(WorkColor,'Yellow')"
  198.       Action:"EditIni:SetForColor(Win,WorkColor,'Yellow',ArrChoice)"
  199.     Radio:"Bright White"
  200.       Check:"EditIni:ChkForColor(WorkColor,'Bright White')"
  201.       Action:"EditIni:SetForColor(Win,WorkColor,'Bright White',ArrChoice)"
  202.     Group:"&Background" Row:3 Col:56 Len:16 Wid:16
  203.     Radio:"Black"
  204.       Check:"EditIni:ChkBkdColor(WorkColor,'Black')"
  205.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Black')"
  206.     Radio:"Blue"
  207.       Check:"EditIni:ChkBkdColor(WorkColor,'Blue')"
  208.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Blue',ArrChoice)"
  209.     Radio:"Green"
  210.       Check:"EditIni:ChkBkdColor(WorkColor,'Green')"
  211.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Green',ArrChoice)"
  212.     Radio:"Cyan"
  213.       Check:"EditIni:ChkBkdColor(WorkColor,'Cyan')"
  214.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Cyan',ArrChoice)"
  215.     Radio:"Red"
  216.       Check:"EditIni:ChkBkdColor(WorkColor,'Red')"
  217.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Red',ArrChoice)"
  218.     Radio:"Magenta"
  219.       Check:"EditIni:ChkBkdColor(WorkColor,'Magenta')"
  220.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Magenta',ArrChoice)"
  221.     Radio:"Brown"
  222.       Check:"EditIni:ChkBkdColor(WorkColor,'Brown')"
  223.       Action:"EditIni:SetBkdColor(Win,WorkColor,'Brown',ArrChoice)"
  224.     Radio:"White